# -*- coding: utf-8 -*-
"""
mathmodeling_SAK.Plot.custom_plot
=================================

客制化的自定义绘图方法
"""

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

def colormap_list(colormap_name, n_colors):
    """
    从特定的 colormap 中提取一个 colormap 颜色列表
    
    colormap 可以是连续型，也可以是离散的。主要用于在一些情形
    下实现定制化的绘图

    输入参数
    ----------
    colormap_name : str
        选中以提取颜色的 Colormap
    n_colors : int
        提取颜色的数量，即返回列表的长度

    返回值
    ----------
    colors : TYPE
        包含若干个颜色的列表

    """
    # Get the colormap
    cmap = plt.cm.get_cmap(colormap_name, n_colors)

    # Generate the list of colors from the colormap
    colors = cmap(np.linspace(0, 1, n_colors))

    return colors
